Skip to content

Exam Practice Problems

We release exams from prior semesters to show you what to expect and to allow you to simulate the exam environment before you have to actually take the exams. The exam format has changed as the course has matured. For the more recent exams, you should be able to complete most of the exercises in 3-4 hours. There's a lot of material in these problem sets, and we do not expect you to complete all of them.

Note

Although there will be some overlap in concepts and coding techniques, the exam you will be taking is entirely new! Do not expect to see the same questions with different data. The goal of releasing this material is to give you more time to refine your problem solving skills. Memorizing solutions will be a waste of your time.

Where to find stuff

  • Problems themselves - Check the <exam name> Practice Problems link on your LMS, that will take you to the problems in Vocareum.
  • Solutions and Video Walkthroughs - Check the <exam name> Practice Problems Release Notes on this website.

How can I access the practice exams?

The practice problems for each midterm are exams from past semesters, with the exception of the extra example problem for MT2.

They are all accessible through your LMS and hosted in Vocareum like your notebooks.

The assignment titled "Practice Problems for Midterm _ - Untimed" contains all of the past exams we're sharing with you.

There is also a "Practice Timed Exam for Midterm _" which is the most recent past exam, and it is setup like a test in Vocareum (with time limit), and with proctoring configured for you to test out what it's like.

  • Note: as you access that assignment through your LMS, there's a note about how we recommend using it and a couple of "watch outs".

The information listed below gives you a quick intro to the notebooks.

Suggested Approach for Practice

  • Do not start with the solutions: While we're releasing all of the solutions with the notebooks, we recommend you don't use those until you finish the whole practice exam, or if you get stumped on an exercise for an extended period of time. If you are unable to solve it and need to review the solution, you should then work backwards to confirm you understand how the solution works and can apply that in the future.

  • Review alternative solutions and work with your classmates: You're free to discuss these practice exams openly and share your code with classmates. We will have a pinned Piazza thread for this. We provide you our solution which works, but our solution may not necessarily be the best, so it's important that you think about alternatives.

  • Quality over quantity: How you spend your time practicing is more important than the amount of time (except, of course, if you have no time to practice). Treating the practice like a real exam and working on building those problem solving skills will help you on the exam. As tempting as it is to just run through them with solutions or AI, you should try solving it yourself first, even if it takes longer than the time limit, then do a review after.

Tip

How you use your time when completing notebooks and reviewing them follows a similar philosophy to the above. While you get points by completing them and submitting them, you need to ensure you're still learning the material, so you can complete subsequent notebooks and exams that utilize those concepts.